1. Field of the Invention
The present invention relates generally to image processing, and more particularly, to a system and method for matching fingerprint images.
2. Description of the Related Art
Among all biometric indicators, fingerprints have one of the highest levels of reliability and have been extensively used by forensic experts in criminal investigations. Although not scientifically established, fingerprints are believed to be unique across individuals, and across fingers of the same individual. Even identical twins having similar DNA, are believed to have different fingerprints. These observations have led to the increased use of automatic fingerprint-based identification systems in both civilian and law-enforcement applications.
The uniqueness of a fingerprint 10 is determined by the topographic relief of its ridge structure and the presence of certain ridge anomalies termed as minutiae points, e.g., ridge endings 12 and ridge bifurcations 14 as shown in FIG. 1. Typically, a global configuration defined by the ridge structure is used to determine the class of the fingerprint, while the distribution of minutiae points is used to match and establish the similarity between two fingerprints. Automatic fingerprint identification systems, that match a query print against a large database of prints (which can consist of millions of prints), rely on the pattern of ridges in the query image to narrow their search in the database (fingerprint indexing), and on the minutiae points to determine an exact match (fingerprint matching). The ridge flow pattern is seldom used for matching fingerprints.
Fingerprint matching techniques can be broadly classified as being minutiae-based or correlation-based. Minutiae-based techniques attempt to align two sets of minutiae points and determine the total number of matched minutiae. Correlation-based techniques, on the other hand, compare the global pattern of ridges and furrows to see if the ridges in the two fingerprints align. The performance of minutiae-based techniques rely on the accurate detection of minutiae points and the use of sophisticated matching techniques to compare two minutiae fields which undergo non-rigid transformations. The performance of correlation-based techniques is affected by non-linear distortions and noise present in the image. In general, it has been observed that minutiae-based techniques perform better than correlation-based ones.
In the prior art, a representation scheme has been proposed that captures global and local features of a fingerprint in a compact fixed length feature vector termed as FingerCode. (See A. K. Jain, S. Prabhakar, L. Hong, S. Pankanti, “Filterbank-based fingerprint matching,” IEEE Transactions on Image Processing 9 (5) (2000) pp. 846–859.) This technique makes use of the texture features available in a fingerprint to compute the feature vector. This scheme for generic representation of oriented texture relies on extracting a core point 16 in the fingerprint. A circular region around the core point 16 is located and tessellated into sectors as shown in FIG. 2(a). The pixel intensities in each sector are normalized to a constant mean and variance, and filtered using a bank of 8 Gabor filters to produce a set of 8 filtered images. Gray scale variance within a sector quantifies the underlying ridge structures and is used as a feature. A feature vector is the collection of all the features, computed from all the sectors, in every filtered image. The FingerCode captures the local information, and the ordered enumeration of the tessellation captures the invariant global relationships among the local patterns. The matching stage simply computes the Euclidean distance between the two corresponding FingerCodes. This technique, however, suffers from the following shortcomings: (i.) The frame of reference is based on a global singular point (i.e., the core point). Detection of the core point is non-trivial; furthermore, the core point may not even be present in small-sized images obtained using solid-state sensors; (ii.) The alignment is based on a single reference point and is, therefore, not very robust with respect to errors in the location of the reference point; and (iii.) The tessellation does not cover the entire image. Furthermore, if the core were to be detected close to a boundary of the image, the tessellation will include only an extremely small portion of the image (FIG. 2(b)).